﻿using Produce.Application.DTO.Input;
using Produce.Domain.Entities;
using Produce.Result;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Produce.Application.Services
{
    public interface IProduceStateService
    {
        /// <summary>
        /// 产品锁定
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<ProductionState> GetProduceStateFalse(GetProduceStateInput input);

        /// <summary>
        /// 产品锁定
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ApiResult<int> UpdateTrueState(long id, string desc);

        /// <summary>
        /// 删除产品
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ApiResult<int> DelState(long id);


        /// <summary>
        /// 产品解锁
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<List<ProductionState>> GetProduceStateTrue(PageInput input);

        /// <summary>
        /// 产品解锁
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ApiResult<int> UpdateFalseState(long id);
    }
}
